#include <list>
#include <map>
#include <hash_map>
#include <iostream>

#include <string>
#include <fstream>
#include <sstream>

using namespace std;
using namespace stdext;

class FilterCSV
{
private:
	int FilterCSV::GetIndexOfHeader(string headerRow, string header);
	string FilterCSV::GetDataForIndex(string row, int index);

public:
	FilterCSV(void);

	//StarCraft Filters
	list<list<string>> FilterCSV::StarcraftFilter(string unitIDCol, int unitID, string timeLastRecCol, int timeLastRecFilter,
													string attackCol, string enemyVisibleCol, string underAttackCol, list<string> inputFile);
	hash_map<int, list<string>> FilterCSV::GetListOfUnitIds(string unitIDCol, string inputFile);
	list<list<string>> FilterCSV::CompressBattlesTimeSteps(list<list<string>> battles, int timeStepDuration, string timeStepCol,
		string unitIDCol, string attackCol, string enemyVisibleCol, string underAttackCol);

	//Other Filters
};
